﻿using log4net;
using PcaCore.BOL.Pca;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace PcaCore.DAL.Pca
{
    public class dCorrelativo
    {
        private static ILog log = LogManager.GetLogger(typeof(dCorrelativo));

        #region Public

        public static oCorrelativo Get(string empresaId,
                                       string oficinaId,
                                       long terminalId,
                                       string tipoComprobanteId)
        {
            try
            {
                //CREATE OR REPLACE FUNCTION pca.fn_get_correlativo(varchar,--empresa_id $1
                //          varchar,--oficina_id $2
                //          bigint,--terminal_id $3
                //          varchar --tipo_comprobante_id $4
                //          )RETURNS SETOF pca.correlativos
                return Core.GetObjectDb<oCorrelativo>("pca.fn_get_correlativo",
                                                      new oParametro(NpgsqlTypes.NpgsqlDbType.Varchar, empresaId),
                                                      new oParametro(NpgsqlTypes.NpgsqlDbType.Varchar, oficinaId),
                                                      new oParametro(NpgsqlTypes.NpgsqlDbType.Bigint, terminalId),
                                                      new oParametro(NpgsqlTypes.NpgsqlDbType.Varchar, tipoComprobanteId)); 
            }
            catch (Exception ex)
            {
                throw Core.LogException(log, ex, MethodBase.GetCurrentMethod().Name); 
            }
        }

        #endregion
    }
}
